<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Data Structures for Sets and Graphs: MultiLevelDirectlyAddressedSet&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Data Structures for Sets and Graphs
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">MultiLevelDirectlyAddressedSet&lt; T &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>An implementation of <a class="el" href="classDirectlyAddressedSet.html" title="A static or dynamic set of elements with direct addressing.">DirectlyAddressedSet</a> using a static multilevel bitmap as data structure.  
 <a href="classMultiLevelDirectlyAddressedSet.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="MultiLevelDirectlyAddressedSet_8h_source.html">MultiLevelDirectlyAddressedSet.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for MultiLevelDirectlyAddressedSet&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classMultiLevelDirectlyAddressedSet__inherit__graph.png" border="0" usemap="#MultiLevelDirectlyAddressedSet_3_01T_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="MultiLevelDirectlyAddressedSet_3_01T_01_4_inherit__map" id="MultiLevelDirectlyAddressedSet_3_01T_01_4_inherit__map">
<area shape="rect" id="node9" href="classMultiArrayDirectlyAddressedSet.html" title="A MultiLevelDirectlyAddressedSet implemented with an ArrayBitMapDirectlyAddressedSet per level..." alt="" coords="713,5,900,51"/><area shape="rect" id="node11" href="classMultiHashDirectlyAddressedSet.html" title="MultiHashDirectlyAddressed\lSet\&lt; T \&gt;" alt="" coords="713,74,900,121"/><area shape="rect" id="node13" href="classvEBTree.html" title="vEBTree\&lt; T \&gt;" alt="" coords="755,144,859,173"/><area shape="rect" id="node2" href="classBitMapDirectlyAddressedSet.html" title="A DirectlyAddressedSet implemented with an array of nodes, each node corresponding to a word of the s..." alt="" coords="204,83,425,112"/><area shape="rect" id="node4" href="classDirectlyAddressedSet.html" title="A static or dynamic set of elements with direct addressing." alt="" coords="5,56,155,85"/><area shape="rect" id="node6" href="classBitTools.html" title="BitTools\&lt; T \&gt;" alt="" coords="29,109,131,139"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for MultiLevelDirectlyAddressedSet&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classMultiLevelDirectlyAddressedSet__coll__graph.png" border="0" usemap="#MultiLevelDirectlyAddressedSet_3_01T_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="MultiLevelDirectlyAddressedSet_3_01T_01_4_coll__map" id="MultiLevelDirectlyAddressedSet_3_01T_01_4_coll__map">
<area shape="rect" id="node2" href="classBitMapDirectlyAddressedSet.html" title="A DirectlyAddressedSet implemented with an array of nodes, each node corresponding to a word of the s..." alt="" coords="81,216,303,245"/><area shape="rect" id="node4" href="classDirectlyAddressedSet.html" title="A static or dynamic set of elements with direct addressing." alt="" coords="5,136,155,165"/><area shape="rect" id="node6" href="classDirectlyAddressedSet_1_1Iterator.html" title="A general iterator to scan a DirectlyAddressedSet." alt="" coords="5,6,155,53"/><area shape="rect" id="node8" href="classBitTools.html" title="BitTools\&lt; T \&gt;" alt="" coords="179,136,280,165"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classMultiLevelDirectlyAddressedSet-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet_1_1MultiIterator.html">MultiIterator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A generic iterator on the set of elements.  <a href="classMultiLevelDirectlyAddressedSet_1_1MultiIterator.html#details">More...</a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a758b187ed84a2db53979c4f78420345e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#a758b187ed84a2db53979c4f78420345e">MultiLevelDirectlyAddressedSet</a> (long size)</td></tr>
<tr class="memdesc:a758b187ed84a2db53979c4f78420345e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The base constructor.  <a href="#a758b187ed84a2db53979c4f78420345e"></a><br/></td></tr>
<tr class="memitem:a9c0b92b3ac74b50c859bcecfbd274a5f"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#a9c0b92b3ac74b50c859bcecfbd274a5f">newLevel</a> (BitMapDirectlyAddressedSetFactory&lt; T &gt; *f)</td></tr>
<tr class="memdesc:a9c0b92b3ac74b50c859bcecfbd274a5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new level to the structure (optional operation).  <a href="#a9c0b92b3ac74b50c859bcecfbd274a5f"></a><br/></td></tr>
<tr class="memitem:a86b05a7f545453522513f67716b385fb"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#a86b05a7f545453522513f67716b385fb">height</a> ()</td></tr>
<tr class="memitem:ac05d7577a98591900b8cc408f66906eb"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#ac05d7577a98591900b8cc408f66906eb">~MultiLevelDirectlyAddressedSet</a> ()</td></tr>
<tr class="memdesc:ac05d7577a98591900b8cc408f66906eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">A destructor.  <a href="#ac05d7577a98591900b8cc408f66906eb"></a><br/></td></tr>
<tr class="memitem:aaf18952745f809e26f634ad47d75ca9a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#aaf18952745f809e26f634ad47d75ca9a">clone</a> () const =0</td></tr>
<tr class="memdesc:aaf18952745f809e26f634ad47d75ca9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a copy of this object.  <a href="#aaf18952745f809e26f634ad47d75ca9a"></a><br/></td></tr>
<tr class="memitem:ae8e98bf9c0d8425405c7aa12d5d376fc"><td class="memItemLeft" align="right" valign="top">virtual <br class="typebreak"/>
<a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">DirectlyAddressedSet::Iterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#ae8e98bf9c0d8425405c7aa12d5d376fc">newIterator</a> ()</td></tr>
<tr class="memdesc:ae8e98bf9c0d8425405c7aa12d5d376fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts a new iterator for this set.  <a href="#ae8e98bf9c0d8425405c7aa12d5d376fc"></a><br/></td></tr>
<tr class="memitem:ab823f584d0d9b1d4161c7cdfc5a41926"><td class="memItemLeft" align="right" valign="top">virtual <br class="typebreak"/>
<a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">DirectlyAddressedSet::Iterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#ab823f584d0d9b1d4161c7cdfc5a41926">newIterator</a> (long l)</td></tr>
<tr class="memdesc:ab823f584d0d9b1d4161c7cdfc5a41926"><td class="mdescLeft">&#160;</td><td class="mdescRight">An iterator to the substructure composed by the specified number of levels from the bottom.  <a href="#ab823f584d0d9b1d4161c7cdfc5a41926"></a><br/></td></tr>
<tr class="memitem:a4b72a8d1da82dabb9c7359cba6556130"><td class="memItemLeft" align="right" valign="top">virtual <br class="typebreak"/>
<a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">DirectlyAddressedSet::Iterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#a4b72a8d1da82dabb9c7359cba6556130">newSetIterator</a> (<a class="el" href="classBitMapDirectlyAddressedSet.html">BitMapDirectlyAddressedSet</a>&lt; T &gt; *d, <a class="el" href="classFilter.html">Filter</a>&lt; T &gt; *f)</td></tr>
<tr class="memdesc:a4b72a8d1da82dabb9c7359cba6556130"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a filtered iterator.  <a href="#a4b72a8d1da82dabb9c7359cba6556130"></a><br/></td></tr>
<tr class="memitem:a9a2bdb4e574330b4f0680f2767cf1e2c"><td class="memItemLeft" align="right" valign="top">virtual <br class="typebreak"/>
<a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">DirectlyAddressedSet::Iterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#a9a2bdb4e574330b4f0680f2767cf1e2c">newComplIterator</a> ()</td></tr>
<tr class="memdesc:a9a2bdb4e574330b4f0680f2767cf1e2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">An Iterator for the complement of the set represented by the object.  <a href="#a9a2bdb4e574330b4f0680f2767cf1e2c"></a><br/></td></tr>
<tr class="memitem:aff41b4ecea502a806cd47a1b28b25ba6"><td class="memItemLeft" align="right" valign="top">virtual char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#aff41b4ecea502a806cd47a1b28b25ba6">toArray</a> (long *size)</td></tr>
<tr class="memdesc:aff41b4ecea502a806cd47a1b28b25ba6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an array containing all of the elements in this set in increasing order.  <a href="#aff41b4ecea502a806cd47a1b28b25ba6"></a><br/></td></tr>
<tr class="memitem:a00cf0bf943365934b341a0a69ddfcce0"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#a00cf0bf943365934b341a0a69ddfcce0">isEmpty</a> ()</td></tr>
<tr class="memitem:a37cc711f1f2685fed602ed79e28045b2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#a37cc711f1f2685fed602ed79e28045b2">allToSet</a> ()</td></tr>
<tr class="memdesc:a37cc711f1f2685fed602ed79e28045b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add all the elements in the universe to the set.  <a href="#a37cc711f1f2685fed602ed79e28045b2"></a><br/></td></tr>
<tr class="memitem:ad23fa9172361ef5cb03fe9a01893a36d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#ad23fa9172361ef5cb03fe9a01893a36d">allToCompl</a> ()</td></tr>
<tr class="memdesc:ad23fa9172361ef5cb03fe9a01893a36d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove all the elements of the set.  <a href="#ad23fa9172361ef5cb03fe9a01893a36d"></a><br/></td></tr>
<tr class="memitem:a04c9ab9e7b0d700aefa6cb6db3fa11af"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#a04c9ab9e7b0d700aefa6cb6db3fa11af">firstInCompl</a> ()</td></tr>
<tr class="memdesc:a04c9ab9e7b0d700aefa6cb6db3fa11af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine the first element of the complement of the set represented by the current object.  <a href="#a04c9ab9e7b0d700aefa6cb6db3fa11af"></a><br/></td></tr>
<tr class="memitem:adccf217b384bf0b02164f29e56889e15"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#adccf217b384bf0b02164f29e56889e15">cardOfSet</a> ()</td></tr>
<tr class="memitem:af620d1b94b802559dc0d5784d9ad5276"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#af620d1b94b802559dc0d5784d9ad5276">cardOfCompl</a> ()</td></tr>
<tr class="memitem:a1c7124135232bc7a54c1e944babfae07"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#a1c7124135232bc7a54c1e944babfae07">show</a> ()</td></tr>
<tr class="memitem:a6d2cde6e85fc1d006b2ccdd9f89c304a"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a6d2cde6e85fc1d006b2ccdd9f89c304a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#a6d2cde6e85fc1d006b2ccdd9f89c304a">show</a> ()</td></tr>
<tr class="memitem:a4cb9b9aaea4a4d9e2d04482788a843d3"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a4cb9b9aaea4a4d9e2d04482788a843d3"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#a4cb9b9aaea4a4d9e2d04482788a843d3">show</a> ()</td></tr>
<tr class="inherit_header pub_methods_classBitMapDirectlyAddressedSet"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classBitMapDirectlyAddressedSet')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="classBitMapDirectlyAddressedSet.html">BitMapDirectlyAddressedSet< T ></a></td></tr>
<tr class="memitem:a4fa7b12ff3c5ca64ea9c4048dda98754 inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapDirectlyAddressedSet.html#a4fa7b12ff3c5ca64ea9c4048dda98754">~BitMapDirectlyAddressedSet</a> ()</td></tr>
<tr class="memdesc:a4fa7b12ff3c5ca64ea9c4048dda98754 inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">The simple destructor.  <a href="#a4fa7b12ff3c5ca64ea9c4048dda98754"></a><br/></td></tr>
<tr class="memitem:a0020a54ee383f00263d23e79a94a79a7 inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual <br class="typebreak"/>
<a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">DirectlyAddressedSet::Iterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapDirectlyAddressedSet.html#a0020a54ee383f00263d23e79a94a79a7">newIterator</a> (<a class="el" href="classBitMapDirectlyAddressedSet.html">BitMapDirectlyAddressedSet</a>&lt; T &gt; *d, <a class="el" href="classFilter.html">Filter</a>&lt; T &gt; *f)</td></tr>
<tr class="memdesc:a0020a54ee383f00263d23e79a94a79a7 inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">An Iterator for the set represented by the object with a filter.  <a href="#a0020a54ee383f00263d23e79a94a79a7"></a><br/></td></tr>
<tr class="memitem:a304b510e345a395c13f1fdfcbef160e2 inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapDirectlyAddressedSet.html#a304b510e345a395c13f1fdfcbef160e2">toSet</a> (long i)</td></tr>
<tr class="memdesc:a304b510e345a395c13f1fdfcbef160e2 inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the specified key to the set.  <a href="#a304b510e345a395c13f1fdfcbef160e2"></a><br/></td></tr>
<tr class="memitem:aa084b0ee63e53920d9cfa662feb3ffeb inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapDirectlyAddressedSet.html#aa084b0ee63e53920d9cfa662feb3ffeb">toCompl</a> (long i)</td></tr>
<tr class="memdesc:aa084b0ee63e53920d9cfa662feb3ffeb inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the specified key from the set.  <a href="#aa084b0ee63e53920d9cfa662feb3ffeb"></a><br/></td></tr>
<tr class="memitem:a8bacc011da032898e445e0bd41dc5f14 inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapDirectlyAddressedSet.html#a8bacc011da032898e445e0bd41dc5f14">flip</a> (long i)</td></tr>
<tr class="memdesc:a8bacc011da032898e445e0bd41dc5f14 inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap a element between the set and the complement.  <a href="#a8bacc011da032898e445e0bd41dc5f14"></a><br/></td></tr>
<tr class="memitem:aae0d63c2cf0f6dbf65657448b14287b5 inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapDirectlyAddressedSet.html#aae0d63c2cf0f6dbf65657448b14287b5">isInSet</a> (long i) const </td></tr>
<tr class="memdesc:aae0d63c2cf0f6dbf65657448b14287b5 inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify if a element of the universe is in the set.  <a href="#aae0d63c2cf0f6dbf65657448b14287b5"></a><br/></td></tr>
<tr class="memitem:a3dc0ff33cdfede898cfd29d10caa0ad6 inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapDirectlyAddressedSet.html#a3dc0ff33cdfede898cfd29d10caa0ad6">flipAll</a> ()=0</td></tr>
<tr class="memdesc:a3dc0ff33cdfede898cfd29d10caa0ad6 inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">The complement of the current set.  <a href="#a3dc0ff33cdfede898cfd29d10caa0ad6"></a><br/></td></tr>
<tr class="memitem:a781346a0534bce876e240cb2cc92d0ac inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapDirectlyAddressedSet.html#a781346a0534bce876e240cb2cc92d0ac">unionOf</a> (<a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *v, <a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *w)</td></tr>
<tr class="memdesc:a781346a0534bce876e240cb2cc92d0ac inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds to this set all the elements in the union of two specified sets.  <a href="#a781346a0534bce876e240cb2cc92d0ac"></a><br/></td></tr>
<tr class="memitem:a8ab9c444519d40684247c4bc3c1be4cc inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapDirectlyAddressedSet.html#a8ab9c444519d40684247c4bc3c1be4cc">symDiffOf</a> (<a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *v, <a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *w)</td></tr>
<tr class="memdesc:a8ab9c444519d40684247c4bc3c1be4cc inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds to this set all the elements in the symmetric difference of two specified sets.  <a href="#a8ab9c444519d40684247c4bc3c1be4cc"></a><br/></td></tr>
<tr class="memitem:a711f4b377ff461e9773b2a3eabcf89af inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapDirectlyAddressedSet.html#a711f4b377ff461e9773b2a3eabcf89af">intersectOf</a> (<a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *v, <a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *w)</td></tr>
<tr class="memdesc:a711f4b377ff461e9773b2a3eabcf89af inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds to this set all the elements in the intersection of two specified sets.  <a href="#a711f4b377ff461e9773b2a3eabcf89af"></a><br/></td></tr>
<tr class="memitem:a31d1c87fec3e523b241595d4cb73a808 inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapDirectlyAddressedSet.html#a31d1c87fec3e523b241595d4cb73a808">diffOf</a> (<a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *v, <a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *w)</td></tr>
<tr class="memdesc:a31d1c87fec3e523b241595d4cb73a808 inherit pub_methods_classBitMapDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds to this set all the elements in the difference of two specified sets.  <a href="#a31d1c87fec3e523b241595d4cb73a808"></a><br/></td></tr>
<tr class="inherit_header pub_methods_classDirectlyAddressedSet"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classDirectlyAddressedSet')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a></td></tr>
<tr class="memitem:a88d7e26e952770c53a961e98c17a41c7 inherit pub_methods_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#a88d7e26e952770c53a961e98c17a41c7">~DirectlyAddressedSet</a> ()</td></tr>
<tr class="memdesc:a88d7e26e952770c53a961e98c17a41c7 inherit pub_methods_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a88d7e26e952770c53a961e98c17a41c7"></a><br/></td></tr>
<tr class="memitem:a3729ca91844f9307afe06f93067e5b2f inherit pub_methods_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#a3729ca91844f9307afe06f93067e5b2f">nextOf</a> (long i)</td></tr>
<tr class="memdesc:a3729ca91844f9307afe06f93067e5b2f inherit pub_methods_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the next key in the set, in ascending order, of the specified value.  <a href="#a3729ca91844f9307afe06f93067e5b2f"></a><br/></td></tr>
<tr class="memitem:a68b2f85831f12352973e8f64fb61a924 inherit pub_methods_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#a68b2f85831f12352973e8f64fb61a924">universeSize</a> () const </td></tr>
<tr class="memdesc:a68b2f85831f12352973e8f64fb61a924 inherit pub_methods_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size of the universe.  <a href="#a68b2f85831f12352973e8f64fb61a924"></a><br/></td></tr>
<tr class="memitem:ab17ea6e0af7dc026fb12d267c6849530 inherit pub_methods_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#ab17ea6e0af7dc026fb12d267c6849530">isEmpty</a> () const =0</td></tr>
<tr class="memdesc:ab17ea6e0af7dc026fb12d267c6849530 inherit pub_methods_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether this set is empty.  <a href="#ab17ea6e0af7dc026fb12d267c6849530"></a><br/></td></tr>
<tr class="memitem:a3a433c49b02c6e0f582b2e9ed60fac4e inherit pub_methods_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#a3a433c49b02c6e0f582b2e9ed60fac4e">subset</a> (long from, long to) const =0</td></tr>
<tr class="memdesc:a3a433c49b02c6e0f582b2e9ed60fac4e inherit pub_methods_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subset containing the elements between the specified values.  <a href="#a3a433c49b02c6e0f582b2e9ed60fac4e"></a><br/></td></tr>
<tr class="memitem:af430216503558a4cfb9b4647ec9c2646 inherit pub_methods_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#af430216503558a4cfb9b4647ec9c2646">getComplement</a> (<a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *res)=0</td></tr>
<tr class="memdesc:af430216503558a4cfb9b4647ec9c2646 inherit pub_methods_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">The complement of the current set, stored in the set res.  <a href="#af430216503558a4cfb9b4647ec9c2646"></a><br/></td></tr>
<tr class="memitem:ace4dc1b4e41e18d0c7cef3fa17c64dc5 inherit pub_methods_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#ace4dc1b4e41e18d0c7cef3fa17c64dc5">addAll</a> (<a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *v)</td></tr>
<tr class="memdesc:ace4dc1b4e41e18d0c7cef3fa17c64dc5 inherit pub_methods_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Union of the current set and a specified set (optional operation).  <a href="#ace4dc1b4e41e18d0c7cef3fa17c64dc5"></a><br/></td></tr>
<tr class="memitem:a385114535ad6bc398181459b1b01c75a inherit pub_methods_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#a385114535ad6bc398181459b1b01c75a">symDiff</a> (<a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *v)</td></tr>
<tr class="memdesc:a385114535ad6bc398181459b1b01c75a inherit pub_methods_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Symmetric difference of the current set and a specified set (optional operation)  <a href="#a385114535ad6bc398181459b1b01c75a"></a><br/></td></tr>
<tr class="memitem:af45e06fe443a71cb91635ddd397ec35f inherit pub_methods_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#af45e06fe443a71cb91635ddd397ec35f">removeAll</a> (<a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *v)</td></tr>
<tr class="memdesc:af45e06fe443a71cb91635ddd397ec35f inherit pub_methods_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Difference of the current set and a specified set (optional operation)  <a href="#af45e06fe443a71cb91635ddd397ec35f"></a><br/></td></tr>
<tr class="memitem:a722dd648d9caa8449f26741f53b85ba2 inherit pub_methods_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#a722dd648d9caa8449f26741f53b85ba2">retainAll</a> (<a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a> *v)</td></tr>
<tr class="memdesc:a722dd648d9caa8449f26741f53b85ba2 inherit pub_methods_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intersection of the current set and a specified set (optional operation)  <a href="#a722dd648d9caa8449f26741f53b85ba2"></a><br/></td></tr>
<tr class="memitem:a6ab0477539b69fb94e8b8bca622cc187 inherit pub_methods_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#a6ab0477539b69fb94e8b8bca622cc187">firstInSet</a> ()</td></tr>
<tr class="memdesc:a6ab0477539b69fb94e8b8bca622cc187 inherit pub_methods_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine the first element of the set represented by the current object.  <a href="#a6ab0477539b69fb94e8b8bca622cc187"></a><br/></td></tr>
<tr class="memitem:a3340fde7ad523ac0c3e121b898be1e3c inherit pub_methods_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#a3340fde7ad523ac0c3e121b898be1e3c">cardOfSet</a> () const </td></tr>
<tr class="memdesc:a3340fde7ad523ac0c3e121b898be1e3c inherit pub_methods_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">The cardinality of the set represented by the object.  <a href="#a3340fde7ad523ac0c3e121b898be1e3c"></a><br/></td></tr>
<tr class="memitem:a86fbb2d9a8fc212f513d0ded3bee67dc inherit pub_methods_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#a86fbb2d9a8fc212f513d0ded3bee67dc">cardOfCompl</a> () const </td></tr>
<tr class="memdesc:a86fbb2d9a8fc212f513d0ded3bee67dc inherit pub_methods_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">The cardinality of the complement of the set represented by the object.  <a href="#a86fbb2d9a8fc212f513d0ded3bee67dc"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a1fa981940bb9ab7f4249b9495d9d58a4"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#a1fa981940bb9ab7f4249b9495d9d58a4">h</a></td></tr>
<tr class="memdesc:a1fa981940bb9ab7f4249b9495d9d58a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of levels  <a href="#a1fa981940bb9ab7f4249b9495d9d58a4"></a><br/></td></tr>
<tr class="memitem:adeeb91470efa6dae57ebb79c628c4bc8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classBitMapDirectlyAddressedSet.html">BitMapDirectlyAddressedSet</a>&lt; T &gt; **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#adeeb91470efa6dae57ebb79c628c4bc8">level</a></td></tr>
<tr class="memdesc:adeeb91470efa6dae57ebb79c628c4bc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">levels of the structure  <a href="#adeeb91470efa6dae57ebb79c628c4bc8"></a><br/></td></tr>
<tr class="inherit_header pro_attribs_classBitMapDirectlyAddressedSet"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classBitMapDirectlyAddressedSet')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="classBitMapDirectlyAddressedSet.html">BitMapDirectlyAddressedSet< T ></a></td></tr>
<tr class="memitem:a1e76fedb462f45a3755792fa5ed656e8 inherit pro_attribs_classBitMapDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapDirectlyAddressedSet.html#a1e76fedb462f45a3755792fa5ed656e8">sizeT</a></td></tr>
<tr class="inherit_header pro_attribs_classDirectlyAddressedSet"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classDirectlyAddressedSet')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a></td></tr>
<tr class="memitem:a72575479afb5dd067267fa92913bc80a inherit pro_attribs_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">const long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#a72575479afb5dd067267fa92913bc80a">u</a></td></tr>
<tr class="memdesc:a72575479afb5dd067267fa92913bc80a inherit pro_attribs_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">the size of the universe  <a href="#a72575479afb5dd067267fa92913bc80a"></a><br/></td></tr>
<tr class="memitem:ab50aba05f27ce2c0f6b1627df11b8733 inherit pro_attribs_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">Iterator</a> *const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#ab50aba05f27ce2c0f6b1627df11b8733">setIt</a></td></tr>
<tr class="memdesc:ab50aba05f27ce2c0f6b1627df11b8733 inherit pro_attribs_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">internal iterator used to implement stateless enumeration methods on this set  <a href="#ab50aba05f27ce2c0f6b1627df11b8733"></a><br/></td></tr>
<tr class="memitem:a663e401ccbabdf2583d8011c20b4997d inherit pro_attribs_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">Iterator</a> *const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#a663e401ccbabdf2583d8011c20b4997d">complIt</a></td></tr>
<tr class="memdesc:a663e401ccbabdf2583d8011c20b4997d inherit pro_attribs_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">internal iterator used to implement stateless enumeration methods on the complement of this set  <a href="#a663e401ccbabdf2583d8011c20b4997d"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a4b0f810e99fba35d4846af44f24452f0"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMultiLevelDirectlyAddressedSet.html#a4b0f810e99fba35d4846af44f24452f0">MultiIterator</a></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_methods_classBitMapDirectlyAddressedSet"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classBitMapDirectlyAddressedSet')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="classBitMapDirectlyAddressedSet.html">BitMapDirectlyAddressedSet< T ></a></td></tr>
<tr class="memitem:a83d95bd5e550e2f7dc4eceae0df394c3 inherit pro_methods_classBitMapDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">virtual T *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapDirectlyAddressedSet.html#a83d95bd5e550e2f7dc4eceae0df394c3">arrayNode</a> (long i) const =0</td></tr>
<tr class="memdesc:a83d95bd5e550e2f7dc4eceae0df394c3 inherit pro_methods_classBitMapDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the node of this array for enumeration of 1-bits with specified index.  <a href="#a83d95bd5e550e2f7dc4eceae0df394c3"></a><br/></td></tr>
<tr class="memitem:a99e93d7a2081455dc5c4b201cd7405f6 inherit pro_methods_classBitMapDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitMapDirectlyAddressedSet.html#a99e93d7a2081455dc5c4b201cd7405f6">BitMapDirectlyAddressedSet</a> (long <a class="el" href="classDirectlyAddressedSet.html#a72575479afb5dd067267fa92913bc80a">u</a>)</td></tr>
<tr class="memdesc:a99e93d7a2081455dc5c4b201cd7405f6 inherit pro_methods_classBitMapDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">A simple constructor.  <a href="#a99e93d7a2081455dc5c4b201cd7405f6"></a><br/></td></tr>
<tr class="inherit_header pro_methods_classDirectlyAddressedSet"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classDirectlyAddressedSet')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a></td></tr>
<tr class="memitem:ad5b694fa37b9b6d2fe79ddee76724de5 inherit pro_methods_classDirectlyAddressedSet"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDirectlyAddressedSet.html#ad5b694fa37b9b6d2fe79ddee76724de5">DirectlyAddressedSet</a> (long size)</td></tr>
<tr class="memdesc:ad5b694fa37b9b6d2fe79ddee76724de5 inherit pro_methods_classDirectlyAddressedSet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic constructor.  <a href="#ad5b694fa37b9b6d2fe79ddee76724de5"></a><br/></td></tr>
<tr class="inherit_header pub_methods_classBitTools"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classBitTools')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="classBitTools.html">BitTools< T ></a></td></tr>
<tr class="memitem:a3c359fa380f74a3e2b6f260e5eaebf32 inherit pub_methods_classBitTools"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitTools.html#a3c359fa380f74a3e2b6f260e5eaebf32">BitTools</a> ()</td></tr>
<tr class="memitem:a5f8fe4c0a10ecf879b5a49453ebb5e77 inherit pub_methods_classBitTools"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitTools.html#a5f8fe4c0a10ecf879b5a49453ebb5e77">inline_ceillog</a> (long n, int b)</td></tr>
<tr class="memdesc:a5f8fe4c0a10ecf879b5a49453ebb5e77 inherit pub_methods_classBitTools"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine the ceil of the logarithmic of the specified value in the specified basis.  <a href="#a5f8fe4c0a10ecf879b5a49453ebb5e77"></a><br/></td></tr>
<tr class="memitem:a44f045bd52df3f9a637f227ea499eb77 inherit pub_methods_classBitTools"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitTools.html#a44f045bd52df3f9a637f227ea499eb77">quotient</a> (long i)</td></tr>
<tr class="memitem:a0d23be61dc34b44bbf6aee9d26436ff4 inherit pub_methods_classBitTools"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBitTools.html#a0d23be61dc34b44bbf6aee9d26436ff4">remainder</a> (long i)</td></tr>
<tr class="memitem:a6092e744e242ae0b2323e8ee0743315b inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a6092e744e242ae0b2323e8ee0743315b"><td class="memTemplItemLeft" align="right" valign="top">const int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#a6092e744e242ae0b2323e8ee0743315b">__masksz</a></td></tr>
<tr class="memitem:a65ed78b408dcd444e15d56e266d9bb83 inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a65ed78b408dcd444e15d56e266d9bb83"><td class="memTemplItemLeft" align="right" valign="top">const int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#a65ed78b408dcd444e15d56e266d9bb83">__masksz</a></td></tr>
<tr class="memitem:a0628cd7273b0f3c661c6957a04789204 inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a0628cd7273b0f3c661c6957a04789204"><td class="memTemplItemLeft" align="right" valign="top">const int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#a0628cd7273b0f3c661c6957a04789204">__masksz</a></td></tr>
<tr class="memitem:a43fff7435def14556b9ac4437d54631e inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a43fff7435def14556b9ac4437d54631e"><td class="memTemplItemLeft" align="right" valign="top">const unsigned int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#a43fff7435def14556b9ac4437d54631e">__mask</a> []</td></tr>
<tr class="memitem:a34f64f79042d33f89393c106ec35c68f inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a34f64f79042d33f89393c106ec35c68f"><td class="memTemplItemLeft" align="right" valign="top">const unsigned long&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#a34f64f79042d33f89393c106ec35c68f">__mask</a> []</td></tr>
<tr class="memitem:ae75903a3c07898ddfa45208b88da9b85 inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:ae75903a3c07898ddfa45208b88da9b85"><td class="memTemplItemLeft" align="right" valign="top">const unsigned long long&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#ae75903a3c07898ddfa45208b88da9b85">__mask</a> [<a class="el" href="classBitTools.html#a22e46edeb0343e4132da31deddb80a75">__masksz</a>]</td></tr>
<tr class="memitem:a426045aa5a3367cc4a21517b6ff1630a inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a426045aa5a3367cc4a21517b6ff1630a"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#a426045aa5a3367cc4a21517b6ff1630a">builtinCounter</a> (unsigned long long i)</td></tr>
<tr class="memitem:ad5632728b31f807dcef08061ab0d25dd inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:ad5632728b31f807dcef08061ab0d25dd"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#ad5632728b31f807dcef08061ab0d25dd">builtinCounter</a> (unsigned long i)</td></tr>
<tr class="memitem:a6d031197e433910e3d810679b18fc520 inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a6d031197e433910e3d810679b18fc520"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#a6d031197e433910e3d810679b18fc520">builtinCounter</a> (unsigned int i)</td></tr>
<tr class="memitem:a1bd1e299c764f04ade414f3b629d45c2 inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a1bd1e299c764f04ade414f3b629d45c2"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#a1bd1e299c764f04ade414f3b629d45c2">builtinLeast</a> (unsigned long long w)</td></tr>
<tr class="memitem:aaa24638176af864b50b9937809e8378d inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:aaa24638176af864b50b9937809e8378d"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#aaa24638176af864b50b9937809e8378d">builtinLeast</a> (unsigned long w)</td></tr>
<tr class="memitem:ac859bed9beaeab4009659b24b6148b51 inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:ac859bed9beaeab4009659b24b6148b51"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#ac859bed9beaeab4009659b24b6148b51">builtinLeast</a> (unsigned int w)</td></tr>
<tr class="memitem:a23f415b0ff8a6abd4e81f040d3365b7c inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a23f415b0ff8a6abd4e81f040d3365b7c"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#a23f415b0ff8a6abd4e81f040d3365b7c">builtinNextLeast</a> (unsigned long long w, int i)</td></tr>
<tr class="memitem:a92271e7a07e7755f38ebe2333ff479cd inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a92271e7a07e7755f38ebe2333ff479cd"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#a92271e7a07e7755f38ebe2333ff479cd">builtinNextLeast</a> (unsigned long w, int i)</td></tr>
<tr class="memitem:ab2732bbf48d3c5eb0a36305bf859200d inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:ab2732bbf48d3c5eb0a36305bf859200d"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#ab2732bbf48d3c5eb0a36305bf859200d">builtinNextLeast</a> (unsigned int w, int i)</td></tr>
<tr class="memitem:a116e71200b9626b920500732c8a2c437 inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a116e71200b9626b920500732c8a2c437"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#a116e71200b9626b920500732c8a2c437">builtinMost</a> (unsigned long long i)</td></tr>
<tr class="memitem:aff3821ce198b77d97a2388830d47e09a inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:aff3821ce198b77d97a2388830d47e09a"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#aff3821ce198b77d97a2388830d47e09a">builtinMost</a> (unsigned long i)</td></tr>
<tr class="memitem:a9f606f94651f8a026b683a8b2d7c369e inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a9f606f94651f8a026b683a8b2d7c369e"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#a9f606f94651f8a026b683a8b2d7c369e">builtinMost</a> (unsigned int i)</td></tr>
<tr class="memitem:aec8c4ee6024218452b6f097377b2342a inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:aec8c4ee6024218452b6f097377b2342a"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#aec8c4ee6024218452b6f097377b2342a">builtinNextMost</a> (unsigned long long w, int i)</td></tr>
<tr class="memitem:a0ce7ed635a71702238ab91acd9cd0493 inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a0ce7ed635a71702238ab91acd9cd0493"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#a0ce7ed635a71702238ab91acd9cd0493">builtinNextMost</a> (unsigned long w, int i)</td></tr>
<tr class="memitem:acb282eff88c9d4c9ec3f83635a0110d2 inherit pub_methods_classBitTools"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:acb282eff88c9d4c9ec3f83635a0110d2"><td class="memTemplItemLeft" align="right" valign="top">int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classBitTools.html#acb282eff88c9d4c9ec3f83635a0110d2">builtinNextMost</a> (unsigned int w, int i)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
class MultiLevelDirectlyAddressedSet&lt; T &gt;</h3>

<p>An implementation of <a class="el" href="classDirectlyAddressedSet.html" title="A static or dynamic set of elements with direct addressing.">DirectlyAddressedSet</a> using a static multilevel bitmap as data structure. </p>
<p>This class is specially designed to provide fast enumeration of the set or the entire universe. For this purpose, this class stores one bit for each element of the universe. If the bit of an element equals 1, then this element is in the set. Otherwise, this element is in the complement.</p>
<p>Each level of the this object is itself a <a class="el" href="classBitMapDirectlyAddressedSet.html" title="A DirectlyAddressedSet implemented with an array of nodes, each node corresponding to a word of the s...">BitMapDirectlyAddressedSet</a> in order to make the implementation of the classes that inherit from <a class="el" href="classDirectlyAddressedSet.html" title="A static or dynamic set of elements with direct addressing.">DirectlyAddressedSet</a> easier. This class has almost all the public methods implemented, a child class only need to implement the protected ones.</p>
<dl class="tparams"><dt>Template Parameters:</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">T</td><td>the type of a word </td></tr>
  </table>
  </dd>
</dl>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a758b187ed84a2db53979c4f78420345e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::<a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a> </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The base constructor. </p>
<p>It is to be used in the children classes to make same calculation about the size of the type T.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">size</td><td>the size of the universe. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac05d7577a98591900b8cc408f66906eb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::~<a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A destructor. </p>
<p>All data used are deleted and memory space are cleaned. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ad23fa9172361ef5cb03fe9a01893a36d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::allToCompl </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Remove all the elements of the set. </p>
<p>Implemented with a C function memset.</p>
<dl class="section see"><dt>See also:</dt><dd>memset() </dd></dl>

<p>Implements <a class="el" href="classBitMapDirectlyAddressedSet.html#a98721fe36c0309b662f0a4053b8c10b3">BitMapDirectlyAddressedSet&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a37cc711f1f2685fed602ed79e28045b2"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::allToSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add all the elements in the universe to the set. </p>
<p>Implemented with a C function memset.</p>
<dl class="section see"><dt>See also:</dt><dd>memset() </dd></dl>

<p>Implements <a class="el" href="classBitMapDirectlyAddressedSet.html#a1886374dcac4d2468c71c98aea3f2f06">BitMapDirectlyAddressedSet&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="af620d1b94b802559dc0d5784d9ad5276"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::cardOfCompl </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="adccf217b384bf0b02164f29e56889e15"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::cardOfSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aaf18952745f809e26f634ad47d75ca9a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classDirectlyAddressedSet.html">DirectlyAddressedSet</a>* <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::clone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a copy of this object. </p>
<p>A concrete implementation of this class must override this method in order to perform the copy of the data structure.</p>
<dl class="section return"><dt>Returns:</dt><dd>a copy of this object. </dd></dl>

<p>Implements <a class="el" href="classBitMapDirectlyAddressedSet.html#a17a8959c7a96ae90a755f7106ff06093">BitMapDirectlyAddressedSet&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a04c9ab9e7b0d700aefa6cb6db3fa11af"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::firstInCompl </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Determine the first element of the complement of the set represented by the current object. </p>
<p>Determine the first element of the complement of the set represented by the current object, according by the total order implemented by the element.</p>
<p>If the set is the whole universe the return will depend on the implementation on the concrete subclass.</p>
<dl class="section return"><dt>Returns:</dt><dd>the first element in the set according to the total order. </dd></dl>

<p>Implements <a class="el" href="classDirectlyAddressedSet.html#a798e2503651986e33dd7af1e510f50a6">DirectlyAddressedSet</a>.</p>

</div>
</div>
<a class="anchor" id="a86b05a7f545453522513f67716b385fb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::height </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a00cf0bf943365934b341a0a69ddfcce0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::isEmpty </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9a2bdb4e574330b4f0680f2767cf1e2c"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">DirectlyAddressedSet::Iterator</a> * <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::newComplIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>An Iterator for the complement of the set represented by the object. </p>
<p>Return an iterator to enumerate all the elements of the universe not belonging to this object</p>
<dl class="section return"><dt>Returns:</dt><dd>an iterator to the complement of the set </dd></dl>

<p>Reimplemented from <a class="el" href="classBitMapDirectlyAddressedSet.html#adfd95747fa6f3852640b6f291a515d5f">BitMapDirectlyAddressedSet&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ae8e98bf9c0d8425405c7aa12d5d376fc"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">DirectlyAddressedSet::Iterator</a> * <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::newIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Starts a new iterator for this set. </p>
<p>Returns an iterator to enumerate all the keys belonging to this object.</p>
<p>The state of the returned iterator is reset to the beginning of the enumeration.</p>
<dl class="section return"><dt>Returns:</dt><dd>the new iterator to the set </dd></dl>

<p>Reimplemented from <a class="el" href="classBitMapDirectlyAddressedSet.html#adf904ffa5738d522834a5ef3cebec79d">BitMapDirectlyAddressedSet&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ab823f584d0d9b1d4161c7cdfc5a41926"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">DirectlyAddressedSet::Iterator</a>* <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::newIterator </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>l</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>An iterator to the substructure composed by the specified number of levels from the bottom. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">l</td><td>number of levels of the substructure</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>an itertor to the substructure </dd></dl>

</div>
</div>
<a class="anchor" id="a9c0b92b3ac74b50c859bcecfbd274a5f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::newLevel </td>
          <td>(</td>
          <td class="paramtype">BitMapDirectlyAddressedSetFactory&lt; T &gt; *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a new level to the structure (optional operation). </p>
<p>This new level is created just above the current smallest level of the tree. The implementation of <a class="el" href="classvEBTree.html">vEBTree</a> used in this level is determined by the specified factory. If the current smallest level is 0 (the tree has all level already), then no new level is created.</p>
<p>Realize that this method allow us to build a tree with different data structure in each level, and different relations between levels as well.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">f</td><td>a factory for the implementation of the new level.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>the level added. If less than zero, then no level has been added. </dd></dl>

<p>Reimplemented in <a class="el" href="classMultiHashDirectlyAddressedSet.html#aff7309258145fd7981343ce0c3c55c74">MultiHashDirectlyAddressedSet&lt; T &gt;</a>, and <a class="el" href="classMultiArrayDirectlyAddressedSet.html#a285cd4f9d5b2d134db569f8dc323c581">MultiArrayDirectlyAddressedSet&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a4b72a8d1da82dabb9c7359cba6556130"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classDirectlyAddressedSet_1_1Iterator.html">DirectlyAddressedSet::Iterator</a> * <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::newSetIterator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classBitMapDirectlyAddressedSet.html">BitMapDirectlyAddressedSet</a>&lt; T &gt; *&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classFilter.html">Filter</a>&lt; T &gt; *&#160;</td>
          <td class="paramname"><em>f</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructs a filtered iterator. </p>
<p>The returned iterator performes an enumeration with the specified filtering applied to each level.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">d</td><td>a set used to filter the enumeration </td></tr>
    <tr><td class="paramname">f</td><td>the filter determining the operation of filtering</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>a filtered iterator on this set </dd></dl>

</div>
</div>
<a class="anchor" id="a1c7124135232bc7a54c1e944babfae07"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::show </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented from <a class="el" href="classBitMapDirectlyAddressedSet.html#a0b1150e706365effaf3bf4d25f1f88eb">BitMapDirectlyAddressedSet&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a6d2cde6e85fc1d006b2ccdd9f89c304a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; int &gt;::show </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented from <a class="el" href="classBitMapDirectlyAddressedSet.html#a0b1150e706365effaf3bf4d25f1f88eb">BitMapDirectlyAddressedSet&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a4cb9b9aaea4a4d9e2d04482788a843d3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; long &gt;::show </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented from <a class="el" href="classBitMapDirectlyAddressedSet.html#a0b1150e706365effaf3bf4d25f1f88eb">BitMapDirectlyAddressedSet&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="aff41b4ecea502a806cd47a1b28b25ba6"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">char * <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::toArray </td>
          <td>(</td>
          <td class="paramtype">long *&#160;</td>
          <td class="paramname"><em>size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns an array containing all of the elements in this set in increasing order. </p>
<p>At the discretion of the implementation, this object may maintain a reference to the returned array. This method acts as bridge between array-based and eVBTree-based APIs. The size of the vector is returned in the pointer size.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">size</td><td>a pointer to store the number of elements in the set.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>an array containing all the elements in this <a class="el" href="classvEBTree.html">vEBTree</a>. </dd></dl>

<p>Implements <a class="el" href="classBitMapDirectlyAddressedSet.html#a8e4dd512b40fdada85967c663480878f">BitMapDirectlyAddressedSet&lt; T &gt;</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a4b0f810e99fba35d4846af44f24452f0"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classMultiLevelDirectlyAddressedSet_1_1MultiIterator.html">MultiIterator</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a1fa981940bb9ab7f4249b9495d9d58a4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::h</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>number of levels </p>

</div>
</div>
<a class="anchor" id="adeeb91470efa6dae57ebb79c628c4bc8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classBitMapDirectlyAddressedSet.html">BitMapDirectlyAddressedSet</a>&lt;T&gt;** <a class="el" href="classMultiLevelDirectlyAddressedSet.html">MultiLevelDirectlyAddressedSet</a>&lt; T &gt;::level</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>levels of the structure </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>datastruct/<a class="el" href="MultiLevelDirectlyAddressedSet_8h_source.html">MultiLevelDirectlyAddressedSet.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Nov 26 2012 17:06:46 for Data Structures for Sets and Graphs by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.1.1
</small></address>
</body>
</html>
